/**
 * 页面管理 相关配置
 * @author 朱琦
 * @date   时间：2023/1/31
 */

const defaultState = () => {
  return {
    // 页面类型
    pageType: ['menu'],
    // 容器列表
    containerList: []
  }
}
const state = defaultState()

const getters = {
  pageType: state => state.pageType,
  containerList: state => state.containerList
}

const mutations = {
  /**
   * 设置页面类型
   * @param {*} state
   * @param {*} pageType
   */
  SET_PAGE_TYPE(state, pageType) {
    state.pageType = pageType
  },
  /**
   * 容器列表
   * @param {*} state
   * @param {*} data  数据 容器列表或列表项
   * @param {*} handle  数据 操作
   */
  SET_CONTAINER_LIST(state, { data, handle }) {
    if (handle === 'add') {
      // 新增容器  data为新增项
      state.containerList.push(data)
    } else if (handle === 'del') {
      // 删除容器  data为删除项
      const index = state.containerList.findIndex(i => i.key === data.key)
      state.containerList.splice(index, 1)
    } else if (handle === 'delType') {
      // 删除 type 为data 的所有容器   data为type值
      state.containerList = state.containerList.filter(i => i.type !== data)
    } else {
      // 初始化列表 data为所有列表
      state.containerList = data
    }
  }
}
const actions = {}
export default { state, getters, mutations, actions }
